home *** CD-ROM | disk | FTP | other *** search
/ QRZ! Ham Radio 8 / QRZ Ham Radio Callsign Database - Volume 8.iso / pc / files / t_ka9q / makefile < prev    next >
Makefile  |  1996-06-25  |  5KB  |  193 lines

  1. #
  2. #    Makefile for KA9Q TCP/IP package for PC clones with Borland C
  3. #
  4. # switches:
  5. #    define the ones you want in the CFLAGS definition...
  6. #
  7. #    AMIGA        - include Amiga specific code
  8. #    MSDOS        - include Messy-Dos specific code
  9. #    UNIX        - Use UNIX file format conventions
  10. #    CPM        - Use CP/M file format conventions
  11.  
  12. #
  13. # parameters for typical IBM-PC installation
  14. #
  15. .autodepend
  16. CC= bcc
  17. ASM= tasm
  18. RM= del
  19. LIB= tlib
  20. # Flags for BC++ 2.0 and earlier
  21. #CFLAGS= -a -d -f- -A- -G- -O -Z -DMSDOS -I.
  22.  
  23. # Flags for BC++ 3.1
  24. #CFLAGS= -a -d -f- -DMSDOS -I. -O1 -Oi
  25. CFLAGS= -a -d -f- -DMSDOS -I. -DCPU386 -3 -O1 -Oi
  26. MODEL=-ml
  27.  
  28. # Assembler flags. Important - if 386 mode is selected in CFLAGS, it must
  29. # also be selected here to ensure 32-bit register saving in interrupts
  30. # Note - the memory model is specified in asmglobal.h, included by all
  31. # assembler routines
  32. #AFLAGS=-mx -t
  33. AFLAGS=-mx -t -j.386
  34.  
  35. # List of libraries
  36. LIBS = clients.lib servers.lib internet.lib net.lib ppp.lib \
  37.     netrom.lib ax25.lib pc.lib dump.lib
  38.  
  39. # Library object file lists
  40. CLIENTS= telnet.obj ftpcli.obj finger.obj smtpcli.obj hop.obj tip.obj \
  41.     dialer.obj nntpcli.obj bootp.obj popcli.obj lterm.obj
  42.  
  43. SERVERS= ttylink.obj ftpserv.obj smisc.obj smtpserv.obj \
  44.         fingerd.obj mailbox.obj rewrite.obj bmutil.obj forward.obj tipmail.obj \
  45.     bootpd.obj bootpdip.obj bootpcmd.obj popserv.obj
  46.  
  47. INTERNET= tcpcmd.obj tcpsock.obj tcpuser.obj \
  48.     tcptimer.obj tcpout.obj tcpin.obj tcpsubr.obj tcphdr.obj \
  49.     udpcmd.obj udpsock.obj udp.obj udphdr.obj \
  50.     domain.obj domhdr.obj \
  51.     ripcmd.obj rip.obj \
  52.     ipcmd.obj ipsock.obj ip.obj iproute.obj iphdr.obj \
  53.     icmpcmd.obj icmp.obj icmpmsg.obj icmphdr.obj \
  54.     arpcmd.obj arp.obj arphdr.obj \
  55.     netuser.obj
  56.  
  57. AX25=    ax25cmd.obj axsock.obj ax25user.obj ax25.obj \
  58.     axheard.obj lapbtime.obj \
  59.     lapb.obj kiss.obj ax25subr.obj ax25hdr.obj ax25mail.obj
  60.  
  61. NETROM=    nrcmd.obj nrsock.obj nr4user.obj nr4timer.obj nr4.obj nr4subr.obj \
  62.     nr4hdr.obj nr3.obj nrs.obj nrhdr.obj nr4mail.obj
  63.  
  64. PPP=    asy.obj ppp.obj pppcmd.obj pppfsm.obj ppplcp.obj \
  65.     ppppap.obj pppipcp.obj pppdump.obj \
  66.     slhc.obj slhcdump.obj slip.obj
  67.  
  68. NET=    view.obj ftpsubr.obj sockcmd.obj sockuser.obj locsock.obj socket.obj \
  69.     sockutil.obj iface.obj timer.obj ttydriv.obj cmdparse.obj \
  70.     mbuf.obj misc.obj pathname.obj audit.obj files.obj \
  71.     kernel.obj ksubr.obj alloc.obj getopt.obj wildmat.obj \
  72.     devparam.obj stdio.obj ahdlc.obj crc.obj md5.obj
  73.  
  74. DUMP=     trace.obj enetdump.obj arcdump.obj \
  75.     kissdump.obj ax25dump.obj arpdump.obj nrdump.obj \
  76.     ipdump.obj icmpdump.obj udpdump.obj tcpdump.obj ripdump.obj
  77.  
  78. PC=    display.obj pc.obj dirutil.obj pktdrvr.obj enet.obj hapn.obj \
  79.     hs.obj pc100.obj eagle.obj drsi.obj drsivec.obj \
  80.     z8530.obj n8250.obj pkvec.obj asyvec.obj hsvec.obj \
  81.     pc100vec.obj eaglevec.obj hapnvec.obj \
  82.     scc.obj sccvec.obj \
  83.     pi.obj pivec.obj \
  84.     pcgen.obj sw.obj stopwatch.obj arcnet.obj \
  85.     stktrace.obj dos.obj dma.obj
  86.  
  87. # Implicit rules for compilation and assembly
  88. .c.obj:
  89.     $(CC) -c $(MODEL) $(CFLAGS) { $< }
  90. .s.obj:
  91.         $(ASM) $(AFLAGS) $<;
  92.  
  93. # Implicit rule for building libraries
  94. .tl.lib:
  95.     $(RM) $*.lib
  96.     $(LIB) /c $*.lib @$*.tl
  97.  
  98. all:    mktl.exe net.exe
  99.  
  100. disk:    net.exe
  101.     pklite net.exe
  102.     copy net.exe a:
  103.  
  104. makelist.exe: makelist.obj getopt.obj
  105.     $(CC) $(MODEL) $**
  106.  
  107. net.exe: main.obj config.obj version.obj session.obj $(LIBS)
  108.     $(CC) $(MODEL) -M -enet main.obj config.obj version.obj session.obj *.lib
  109.  
  110. mkpass.exe: mkpass.obj md5.obj
  111.     $(CC) $(MODEL) -emkpass $**
  112.  
  113. xref.out: main.obj config.obj version.obj session.obj $(LIBS)
  114.     objxref /Oxref.out \tc\lib\c0l.obj main.obj config.obj version.obj \
  115.     session.obj *.lib \tc\lib\cl.lib
  116.  
  117. # Program to build tlib control files
  118. mktl.exe: mktl.c
  119.     bcc mktl.c
  120.  
  121. mkdep.exe: mkdep.c
  122.     bcc mkdep.c
  123.  
  124. # Library dependencies
  125. ax25.lib: $(AX25)
  126. clients.lib: $(CLIENTS)
  127. dump.lib: $(DUMP)
  128. internet.lib: $(INTERNET)
  129. net.lib: $(NET)
  130. netrom.lib: $(NETROM)
  131. pc.lib: $(PC)
  132. ppp.lib: $(PPP)
  133. servers.lib: $(SERVERS)
  134.  
  135. # Create control files for tlib
  136. ax25.tl: mktl.exe
  137.     mktl > $< <<!
  138. $(AX25)
  139. !
  140.  
  141. clients.tl: mktl.exe
  142.     mktl > $< <<!
  143. $(CLIENTS)
  144. !
  145.  
  146. dump.tl: mktl.exe
  147.     mktl > $< <<!
  148. $(DUMP)
  149. !
  150.  
  151. internet.tl: mktl.exe
  152.     mktl > $< <<!
  153. $(INTERNET)
  154. !
  155.  
  156. net.tl: mktl.exe
  157.     mktl > $< <<!
  158. $(NET)
  159. !
  160.  
  161. netrom.tl: mktl.exe
  162.     mktl > $< <<!
  163. $(NETROM)
  164. !
  165.  
  166. pc.tl: mktl.exe
  167.     mktl > $< <<!
  168. $(PC)
  169. !
  170.  
  171. ppp.tl: mktl.exe
  172.     mktl > $< <<!
  173. $(PPP)
  174. !
  175.  
  176. servers.tl: mktl.exe
  177.     mktl > $< <<!
  178. $(SERVERS)
  179. !
  180.  
  181. srcrcs.zip:
  182.     -pkzip -urp srcrcs.zip makefile turboc.cfg dodeps.sh makefile.%v *.c%v *.h%v *.s%v 
  183.  
  184. src.zip:
  185.     -pkzip -u src.zip makefile turboc.cfg dodeps.sh *.c *.h *.s
  186.  
  187. clean:    nul
  188.     $(RM) *.lib
  189.     $(RM) *.obj
  190.     $(RM) *.exe
  191.     $(RM) *.sym
  192.  
  193.